#ifndef COM_H_
#define COM_H_

#include <winsock2.h>
#include <time.h>

class Com {
public:
	Com();
	bool init();

	bool openSocket(int tipoSocket, int protocol, int socketOption, unsigned short port, bool encripta=false);
	bool connectTcpSock(unsigned char *ip, int nroPuertoTCP);
	bool IsRxData();
	int recvfrom(char* buff, int lenBuff, SOCKADDR* addr, int *addrLen);
	int sendto(char * buff, int len, SOCKADDR* addr, int addrLen);
	virtual ~Com();
private:
	bool OpenNet; //utilizada para setear que la placa de red ya esta inicializada.
	bool encriptado;
	//solo se usan para el retry de connect en socket tcp
	clock_t timerReconnect;
	clock_t timeOutReconnect;
protected:
	int ID_Socket;
	int socketCfg; //Tipo de configuracion del socket
	clock_t timerPooling; //Timer

};

#endif /* COM_H_ */
